package com.rj.ability.leqi.adapter.domain.aisino;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.rj.ability.leqi.req.*;
import io.github.linpeilie.annotations.AutoMapper;
import io.github.linpeilie.annotations.AutoMappers;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
 * 购买方信息
 *
 * @author YFX_RANLUBO
 * @date 2024/08/08 08:58
 **/
@Data
@AutoMappers({
    @AutoMapper(target = QdfpscOfBaseReq.class, reverseConvertGenerate = false),
    @AutoMapper(target = QdfpscOfJzfwReq.class, reverseConvertGenerate = false),
    @AutoMapper(target = QdfpscOfBdcReq.class, reverseConvertGenerate = false),
    @AutoMapper(target = QdfpscOfHwysReq.class, reverseConvertGenerate = false),
    @AutoMapper(target = QdfpscOfBdcSellReq.class, reverseConvertGenerate = false),
    @AutoMapper(target = QdfpscOfLkysReq.class, reverseConvertGenerate = false),
    @AutoMapper(target = QdfpscOfDsccsReq.class, reverseConvertGenerate = false)
}
)
public class BuyerInfo {
    /**
     * 购买方自然人标志varchar  1  否 Y：购买方是自然人N：购买方非自然人
     * aisino:购买方性质	1	是	1：非自然人 3：自然人。
     */
    @JsonProperty("buyerNature")
    private String gmfzrrbz;
    /**
     * （购买方）统一社会信用代码/纳税人识别号/身份证件号码varchar  20  否开具数电专票时，必填
     */
    @JsonProperty("buyerTaxID")
    @Length(max = 20)
    private String gmfnsrsbh;
    /**
     * (购买方)名称  varchar  300  是
     */
    @JsonProperty("buyerName")
    @Length(max = 300)
    private String gmfmc;
    /**
     * 购买方地址  varchar  300  否
     */
    @JsonProperty("buyerAddrTel")
    @Length(max = 300)
    private String gmfdz;
    /**
     * 购买方电话  varchar  60  否
     */
    @JsonProperty("buyerTel")
    @Length(max = 60)
    private String gmfdh;
    /**
     * 购买方开户行  varchar  120  否
     */
    @JsonProperty("buyerFinancialAccount")
    @Length(max = 120)
    private String gmfkhh;
    /**
     * 购买方账号  varchar  50  否
     */
    @JsonProperty("buyerAccount")
    @Length(max = 50)
    private String gmfzh;
}
